package com.anyou.mall.goo.domain;

import com.anyou.mall.use.domain.User;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;
import com.anyou.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.anyou.common.core.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 优惠券历史记录对象 goo_goods_coupon_history
 *
 * @author gaochaohao
 * @date 2022-04-11
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper=false)
@ApiModel(value = "优惠券历史记录")
@TableName(value = "goo_goods_coupon_history")
public class GoodsCouponHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品历史编号 */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("商品历史编号")
    private Long couponHistoryId;

    /** 优惠券编号 */
    @ApiModelProperty("优惠券编号")
    @Excel(name = "优惠券编号")
    private Long goodsCouponId;

    /** 用户编号 */
    @ApiModelProperty("用户编号")
    @Excel(name = "用户编号")
    private Long userId;

    /** 订单编号 */
    @ApiModelProperty("订单编号")
    @Excel(name = "订单编号")
    private String orderId;

    /** 领取人昵称 */
    @ApiModelProperty("领取人昵称")
    @Excel(name = "领取人昵称")
    private String nickName;

    /** 使用状态:0-&gt; 未使用；1-&gt;已使用；2-&gt;已过期 */
    @ApiModelProperty("使用状态:0-&gt; 未使用；1-&gt;已使用；2-&gt;已过期")
    @Excel(name = "使用状态:0-&gt; 未使用；1-&gt;已使用；2-&gt;已过期")
    private String useStatus;

    /** 使用时间 */
    @ApiModelProperty("使用时间")
    @Excel(name = "使用时间")
    private String useTime;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty("删除标志（0代表存在 2代表删除）")
    private String delFlag;

    /** 用户手机号 */
    @ApiModelProperty("用户手机号")
    @TableField(exist = false)
    private String phoneNumber;

    /** 订单号 */
    @ApiModelProperty("订单号")
    @TableField(exist = false)
    private String orderNo;

    /** 订单金额 */
    @ApiModelProperty("订单金额")
    @TableField(exist = false)
    private BigDecimal orderAmount;

    /** 用户信息 */
    @ApiModelProperty("用户信息")
    @TableField(exist = false)
    private User user;

}
